﻿using NCS.IConnect.Core.Utilities;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace NCS.IConnect.Core.WebApi.Description
{
    /// <summary>
    /// Class UriParameterExporterAttribute.
    /// </summary>
    [AttributeUsage( AttributeTargets.Class|AttributeTargets.Parameter)]
    public class UriParameterExporterAttribute: Attribute
    {
        /// <summary>
        /// Gets the type of the URI parameter exporter.
        /// </summary>
        /// <value>The type of the URI parameter exporter.</value>
        public Type UriParameterExporterType { get; private set; }

        /// <summary>
        /// Initializes a new instance of the <see cref="UriParameterExporterAttribute"/> class.
        /// </summary>
        /// <param name="uriParameterExporterType">Type of the URI parameter exporter.</param>
        public UriParameterExporterAttribute(Type uriParameterExporterType)
        {
            Guard.ArgumentNotNull(uriParameterExporterType, "uriParameterExporterType");
            this.UriParameterExporterType = uriParameterExporterType;
        }
    }
}
